package foodmaterial.service;

import com.github.pagehelper.PageInfo;
import foodmaterial.action.RecipeAction;
import foodmaterial.dto.*;
import foodmaterial.entity.*;

import java.util.List;

public interface RecipeService {
    String addRecipeType(RecipeType menuType) ;
    String modifyRecipeType(RecipeType menuType) ;
    List<RecipeType> queryRecipeType(RecipeTypeDto dto) ;

    int addRecipeTemplate(RecipeTemplate menuTemplate) ;
    int modifyRecipeTemplate(RecipeTemplate menuTemplate) ;
    int stopRecipeTemplate(RecipeTemplate menuTemplate) ;
    List<RecipeTemplate> queryRecipeTemplate(RecipeTemplateDto dto) ;

    List<RecipeTemplateDetails> queryRecipeTemplateDetails(Long templateId) ;

    RecipeTemplate queryRecipeTemplateById(Long id) ;

    String addRecipeSupply(RecipeAction.Supply supply) ;
    String removeRecipeSupply(RecipeSupplyDto dto) ;
    List<RecipeSupply> queryRecipeSupply(RecipeSupplyDto dto) ;

    PageInfo<RecipeTemplate> queryRecipe(RecipeTemplateDto dto) ;

    String batchModifyRecipePrice(List<RecipeTemplate> recipes) ;

    int addCustomerRecipePriceTemplate(CustomerRecipePriceTemplate customerPriceTemplate) ;

    int modifyCustomerRecipePriceTemplate(CustomerRecipePriceTemplate customerPriceTemplate) ;

    int removeCustomerRecipePriceTemplate(Long templateId) ;

    List<CustomerRecipePriceTemplate> queryCustomerRecipePriceTemplate(CustomerRecipePriceTemplateDto dto) ;

    List<CustomerRecipePriceTemplateDetail>
    queryCustomerRecipePriceTemplateDetail(CustomerRecipePriceTemplateDto dto) ;

    int addCustomerRecipePrice(RecipeAction.CustomerPriceChoice customerPriceChoice) ;

    int removeCustomerRecipePrice(CustomerRecipePriceTemplateDto dto) ;

    List<CustomerRecipePrice> queryCustomerRecipePrice(CustomerRecipePriceTemplateDto dto) ;

}
